# Function entry points from the Ghidra project (mrdo_main.bin), 2026-09-27
0000 RST0
0038 RST7
0066 NMI_ISR
0068 cold_start_selftest
00b8 vblank_irq_main
01a6 poll_coin_inputs
01de tick_input_debounce
01fa add_credit
026d process_anim_queue
0297 queue_anim_effect
029d queue_sprite_xy
02d9 sound_request
02df sound_set_start_bit
02ea sound_request_b
02f4 rng_next
0302 advance_play_timer
0318 bcd_timer_inc
032a add_score_animated
0374 add_bcd3
0380 draw_current_score
0389 draw_p1_score
0391 draw_p2_score
0399 draw_high_score
03a1 draw_bcd_score
03a4 draw_bcd_digits
03d4 vram_draw_rect_data
03d8 vram_blit_rect_attrs
03de vram_blit_rect_attrs_a
03e2 vram_blit_rect_attrs_de
0403 vram_draw_vcolumn
0407 vram_blit_vcol_attrs
040f vram_draw_vstrip
0425 vram_draw_cell_indexed
0442 vram_draw_seq_block
045c vram_fill_rect
046c vram_clear_rect
046d vram_fill_rect_a29
0485 init_play_screen
04c3 redraw_ui_columns
054f draw_extra_letters
0593 set_starting_lives
05aa draw_lives
05d7 check_collision_actors
05ef check_collision_xy
05ff reset_all_entities
0625 fill_strided
062a any_entity_active
0664 init_player_new_game
0671 init_new_game
068e setup_level_maze
06a1 draw_playfield_bg
06be draw_playfield_bg_idx
0724 load_maze_layout
0734 load_maze_from_ptr
07a1 draw_maze_tile_pair
0b20 place_cherries
0b5c draw_cherry_group
0be0 place_field_objects
0d2a attract_mode_update
0ffb draw_coinage_info
1086 draw_freeplay_label
10a7 snapshot_screen
11b0 draw_title_graphic
11ce death_gameover_sequence
14de stub_14de
14eb save_region_e882
1505 restore_region_e882
151f swap_screen_snapshot
1611 draw_hiscore_bigchar
1639 draw_hiscore_row0
163b draw_hiscore_row0_b
164d draw_hiscore_row1
164f draw_hiscore_row1_b
1662 draw_hiscore_row2
1664 draw_hiscore_row2_b
168b insert_high_score
1721 compare3
1723 compare_bytes
172b hiscore_entry_input
1800 get_cocktail_orient
180c draw_hiscore_entry
1843 draw_nameentry_char
1860 draw_nameentry_anim
192d spin_delay
193c round_end_sequence
1a76 get_level_index
1a9b calc_tunnel_tiles_right
1ad0 calc_tunnel_tiles_left
1b05 calc_tunnel_tiles_down
1b3b calc_tunnel_tiles_up
1b71 select_tunnel_tile_chk
1b87 select_tunnel_tile
1d03 carve_tunnel_dir
1d16 carve_tunnel_cells
1d5c carve_cell_tile
1d69 carve_tunnel_gated
1d89 cell_to_vram_off
1da3 pos_to_cell
1dc0 pos_to_cell_index
1dc9 tunnel_carve_right
1e1f tunnel_carve_left
1e75 tunnel_carve_down
1ec5 tunnel_carve_up
1f15 tunnel_open_right
1f1e tunnel_open_left
1f27 tunnel_open_down
1f33 tunnel_open_up
1f3f push_collided_objects
1f78 trigger_apple_wobble
1fb2 player_update
22eb clear_anim_cells
2309 draw_seq9_delayed
2320 spin_delay2
2332 read_player_input
2345 draw_death_anim
235a dec_timer_at10
2363 player_check_move_right
237f player_check_move_left
239a player_check_move_down
23a5 player_check_move_up
246d release_pushed_objects
2495 player_move_dig_right
256f player_move_dig_left
2646 player_move_dig_down
272c player_move_dig_up
2816 request_pathfind_recalc
281b clear_actor_status
2824 request_pathfind_at_cell
2829 mark_actor_at_cell
2834 get_actor_status
284b get_actor_status_b
2862 cherry_scan_cells
2894 cherry_eat_and_score
28c5 FUN_ram_28c5
28df powerball_update
2b7c process_ball_path
2ba1 stub_2ba1
2bb5 stub_2bb5
2bc9 check_tunnel_open
2c38 set_target_to_mrdo
2c5b advance_ball_path
2cb2 clear_powerball_path
2cc0 stub_2cc0
2cc8 ball_should_continue
2ce3 complement_byte
2ceb draw_ball_segment
2da1 draw_ball_sprite_0
2dc0 draw_ball_sprite_1
2de0 draw_ball_sprite_2
2e00 draw_ball_sprite_3
2e39 get_lo_nibble
2f01 monster_nest_generator
3158 get_level_param
3180 nest_spawn_tick
3231 actor_update
346c actor_decide_at_cell
35d2 caseD_0
36a6 actor_timer_end_state
36ba monster_advance
373c choose_chase_dir
37a2 chase_dir_homing
3804 get_mrdo_cell_x
3823 homing_scan_v
383a homing_scan_h
3851 eval_cell_cost
3880 actor_tunnel_step
39d2 set_dig_delay
39e1 consume_carved_cherries
39ec consume_cherries_check
3a02 actor_move_step
3b5b ai_select_speed
3db0 dec_actor_timer
3dc1 check_grid_alignment
3dd6 ai_dir_toward_target
3e1a ai_follow_chase_path
3e7c ai_dir_at_junction
3ed7 set_actor_direction
3ee6 ai_dir_no_reverse
3f51 pick_chase_direction
3fff check_dir_in_bounds
4032 dir_table_lookup
4041 coord_cell_ahead
4076 check_object_at_xy
40aa ai_scan_obstacles
41ad find_monster_at
41d6 alpha_advance
426c ai_choose_direction
42ff ai_dir_masked
431f track_max_monster_dist
4353 alpha_monster_update
4777 collect_extra_letter
47c2 get_extra_letter_sprite
47cd get_letter_bit
47db release_chompers
4861 dec_timer_at_f
4872 alpha_pick_direction
48f2 chomper_scan_apple
493f actor_anim_advance
49a5 draw_extra_letter_tile
49d3 chomper_eat_apple
4b03 object_slot_offset
4b18 alpha_chomper_update
4d8d on_chomper_killed
4d97 freeze_monsters_on_kill
4dae trigger_blocking_apple
4dc6 spawn_apple
4e02 update_field_objects
4e2d object_update
50c0 queue_next_object_spawn_b
512a release_monsters_from_nest
5191 apple_crush_score
51b5 draw_apple_sprite
51df apple_fall_step
51ef apple_land
52be apple_crush_monsters
5398 push_object_x
53a9 apple_check_support
540b check_cell_tile
540e classify_tile
542b diamond_update
54ec maze_pathfind_bfs
558e maze_pathfind_path1
5647 maze_pathfind_path2
569c bfs_visit_neighbor
5877 unpack_bits_row
5886 unpack_bits_col
5946 draw_test_border_halt
59ac fill_row_30
59b3 fill_col_22
59c0 queue_next_object_spawn
5a80 sound_silence_all
5a90 sound_engine_tick
5af6 sound_stop
5b1d sound_start
5b98 sound_channel_output
5c69 sound_advance_channel
5dc3 set_channel_freq
5ddd set_channel_freq_raw
5de8 set_channel_noise
5dfa set_note_duration
5e08 set_note_duration_raw
5e10 sound_alloc_channels
5ed4 apply_sound_volume
5ef5 spin_delay3
7001 attract_scroll_anim
7036 draw_scroll_row
706e draw_attract_header
70a9 setup_demo_screen
716c setup_demo_objects
71af play_demo_script
7258 demo_scene_events
73a5 diamond_award_credit
7556 scene_anim_cycle3
7590 bonus_scene_anim
774d scene_anim_scenery
7785 scene_anim_character
77ea demo_ball_anim
7891 scene_anim_props
7907 scene_anim_flap
7952 scene_anim_extra
796a round_end_scene_anim
7a6c draw_round_end_rows
7ae1 round_bonus_tally
7bd3 add_score
7c1e bcd_multiply
7c2f add_bcd2
7c38 draw_tally_line
7c90 draw_score_pair
7cb4 set_scroll_y
